package com.frank.reader.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.frank.reader.pojo.Book;

public interface BookService {
    /**
     * @param categoryId 分类ID
     * @param order      排序规则
     * @param page       页号
     * @param rows       每页记录数
     * @return 分页对象
     */
    IPage<Book> paging(Long categoryId, String order, Integer page, Integer rows);

    /**
     * 通过Book编号获取Book
     *
     * @param categoryId BookID
     * @return Book对象数据
     */
    Book selectById(Long categoryId);


    /**
     * 更新图书评分/评价数量
     */
    void updateEvaluation();

    /**
     * 创建新的图书
     *
     * @param book 图书对象
     * @return 新的图书
     */
    Book createBook(Book book);

    /**
     * 更新图书
     *
     * @param book 新图书数据
     * @return 更新后的图书
     */
    Book updateBook(Book book);

    /**
     * 删除图书及相关数据
     *
     * @param bookId
     */
    void deleteBook(Long bookId);
}
